Program Understanding in Databases Reverse Engineering
نویسندگان
چکیده
The main argument of the paper is that database understanding (or reverse engineering) requires sophisticated program understanding techniques, and conversely. Database reverse engineering (DBRE) can be carried out following a generic methodology, one of the phases of which consists in eliciting all the implicit and untranslated data structures and constraints. Evidences of these hidden constructs can be found by analysing how the programs use and update the data. Hence the need for program analysis techniques such as searching for clichés, dependency analysis, program slicing and synthetic views. The paper explains how these techniques contribute to DBRE, and describes DB-MAIN, a programmable and extensible CASE environment that supports DBRE through program understanding techniques.
منابع مشابه
Understanding Software Systems Using Reverse Engineering Technology Colloquium on Object Orientation in Databases and Software Engineering; the 62nd Congress of L'association Canadienne Francaise Pour L'avancement Des Sciences Acfas"
Software engineering research has focused primarily on software construction, neglecting software maintenance and evolution. Observed is a shift in research from synthesis to analysis. The process of reverse engineering is introduced as an aid in program understanding. This process is concerned with the analysis of existing software systems to make them more understandable for maintenance, re-e...
متن کاملAn Environment for the Reverse Engineering of Executable Programs
Reverse engineering of software systems has traditionally centered upon the generation of high-level abstractions or speciications from high-level code or databases. In this paper we report on a reverse engineering environment for low-level executable code: a reverse compilation or decompilation environment that aids in the understanding of the underlying executable program. The reverse compila...
متن کاملDependence Analysis of Java Bytecode
Understanding program dependencies in a computer program is essential for many software engineering tasks such as program understanding, testing, debugging, reverse engineering, and maintenance. In this paper, we present an approach to dependence analysis of Java bytecode, and discuss some applications of our technique, which include Java bytecode slicing, understanding, and testing.
متن کاملUnderstanding software systems using reverse engineering technology perspectives from the Rigi project
Software engineering research has focused mainly on software construction and has neglected software maintenance and evolution. Proposed is a shift in research from synthesis to analysis. Reverse engineering is introduced as a possible solution to program understanding and software analysis. Presented is reverse engineering technology developed as part of the Rigi project. The Rigi approach inv...
متن کاملProgrammable Reverse Engineering
Program understanding can be enhanced using reverse engineering technologies. The understanding process is heavily dependent on both individuals and their speci c cognitive abilities, and on the set of facilities provided by the program understanding environment. Unfortunately, most reverse engineering tools provide a xed palette of extraction, selection, and organization techniques. This paper...
متن کامل